﻿import * as React from "react";
import * as electron  from 'electron'
import Obj = require('object-assign')
import * as 颜色 from '../../工具代码/颜色'
import 数 from '../../工具代码/数'
import R控件基类 from '../../核心代码/R控件基类'
import * as 基类 from '../../核心代码/控件基类'

let ipcR = electron.ipcRenderer

export default class R登录页面广告 extends R控件基类 {
    constructor(props) {
        super(props)
        this.基础数据 = this.props as 登录页面广告

        this.标准样式 = this.基础数据.自定义样式 ? this.基础数据.自定义样式 : Obj({}, this.标准样式,
            {
                textAlign: this.基础数据.左对齐 ? 'left' : 'right',
            })       
        this.state = {
            使用样式: this.标准样式,
            是否启用: this.基础数据.是否启用 ? null : this.基础数据.是否启用
        }
        this.禁用样式 = Obj({}, this.state.使用样式, this.样式.取禁用样式)
    }
    基础数据: 登录页面广告 = {}
    render() {
        if (this.state.是否启用 == null || this.state.是否启用 == true) {
            return (
                <div style={this.state.使用样式}>
                    { this.基础数据.广告语.map((数据, 计数) =>
                        <R广告语 {...数据 }
                            key={计数}
                            />
                    ) }
                </div>
            )
        } else {
            return (
                <div style={this.禁用样式}>
                    { this.基础数据.广告语.map((数据, 计数) =>
                        <R广告语 { ...数据} 
                            key={计数}
                            />
                    ) }
                </div>
            )
        }
    }
}

export class R广告语 extends R控件基类 {
    constructor(props) {
        super(props)
        this.基础数据 = this.props as 广告语
        console.log(this.基础数据)
        this.标准样式 = this.基础数据.自定义样式 ? this.基础数据.自定义样式 : Obj({}, this.标准样式,
            {
                marginTop: '5px', fontSize: this.基础数据.字大小 ? this.基础数据.字大小.取值 : '14px'
            })
        this.state = {
            使用样式: this.标准样式,
            是否启用: this.基础数据.是否启用 ? null : this.基础数据.是否启用
        }
    }
    基础数据: 广告语 = {}
    render() {
        if (this.state.是否启用 == null || this.state.是否启用 == true) {
            return (
                <div style={ this.state.使用样式}>{this.基础数据.广告语}</div>
            )
        } else {
            return (
                <div style={ this.禁用样式}>{this.基础数据.广告语}</div>
            )
        }
    }
}

export interface 广告语 extends 基类.控件基类 {
    广告语?: string,
    字大小?: 数,
}

export interface 登录页面广告 extends 基类.控件基类 {
    左对齐?: string | number,
    广告语?: 广告语[]
}
